Intuición

La regresión lineal como su nombre lo indica permite crear relaciones lineales entre una variable dependiente y un grupo de variables independientes.

El reto consiste en minimizar

\[e=\sum_{i=1}^n(y_i-\hat{y}_i)^2\]

Donde \(y_i\) es el valor de la observación para la \(i-esima\) unidad, \(\hat{y}_i\) es el valor estimado para la \(i-esima\) observación.

Se puede observar que la anterior función se encuentra representada por una función cuadrática con coeficiente siempre positivo por lo que para encontrar un mínimo recurrimos a derivar esta función.

El modelo de regresión funciona sobre los siguientes supuestos

\[y_i = \beta_0+ \beta_1X_i+ e_i\]

donde \(e_i\sim N(0, \sigma^2)\), \(y\sim N(\mu,\sigma^2)\)

Implementación en R

Construcción del modelo

library(kableExtra)
## Warning: package 'kableExtra' was built under R version 3.5.2
base <- read.csv("../Bases de datos/auto-mpg.csv")
kable(head(base),"markdown")
No mpg cylinders displacement horsepower weight acceleration model_year car_name
1 28 4 140 90 2264 15.5 71 chevrolet vega 2300
2 19 3 70 97 2330 13.5 72 mazda rx2 coupe
3 36 4 107 75 2205 14.5 82 honda accord
4 28 4 97 92 2288 17.0 72 datsun 510 (sw)
5 21 6 199 90 2648 15.0 70 amc gremlin
6 23 4 115 95 2694 15.0 75 audi 100ls

Eliminamos las variables no útiles y se recodifican otras.

base$cylinders <- as.factor(base$cylinders)
base$car_name <- NULL

Se contruye el modelo.

modelo <- lm(mpg ~ ., base)
summary(modelo)
## 
## Call:
## lm(formula = mpg ~ ., data = base)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -8.9746 -1.9709 -0.0937  1.7711 13.7483 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -1.884e+01  4.581e+00  -4.113 4.77e-05 ***
## No            4.417e-04  1.427e-03   0.310 0.757101    
## cylinders4    6.259e+00  1.690e+00   3.704 0.000243 ***
## cylinders5    7.629e+00  2.540e+00   3.003 0.002845 ** 
## cylinders6    3.130e+00  1.876e+00   1.668 0.096027 .  
## cylinders8    5.776e+00  2.170e+00   2.662 0.008086 ** 
## displacement  5.915e-03  6.952e-03   0.851 0.395384    
## horsepower   -1.876e-02  1.334e-02  -1.406 0.160608    
## weight       -6.221e-03  6.341e-04  -9.811  < 2e-16 ***
## acceleration  4.651e-02  9.503e-02   0.489 0.624830    
## model_year    7.290e-01  4.903e-02  14.868  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.213 on 387 degrees of freedom
## Multiple R-squared:  0.8352, Adjusted R-squared:  0.831 
## F-statistic: 196.2 on 10 and 387 DF,  p-value: < 2.2e-16

En la tabla anterior se presenta la significancia de las de individual de cada una de las variables, además se presentan el error estándar los grados de libertad el \(R^2\) y el \(R_{abj}^2\) ajustado para el modelo y la significancia del modelo.

Análisis de los residuales

par(mfrow = c(2,2))
plot(modelo)